fix(settings): show resolved model in Local CLI tests - #6183
Conversation
|
Thanks @MumuTW — the scope here is clear. Since this is still a draft, we'll hold off on review until you mark it ready for review. |
mrcfps
left a comment
There was a problem hiding this comment.
@MumuTW I verified the additive resolvedModel contract, the Claude system/init model capture in the connection-test sink, and the Settings success-message rendering across every changed range. The requested alias remains preserved in model, exact pinned IDs are not repeated, and the focused daemon/web regressions, affected-package typechecks, and repository guard all pass locally. Thanks for the clear, well-scoped fix and solid regression coverage — nicely done! 🙌
🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.
|
🧪 This PR has changes that need a manual QA pass before merge — please hold off self-merging for now; we'll loop QA in now that it's ready for that handoff. |
|
QA Accepted.\n\nAutomated validation passed:\n- Claude alias resolved-model daemon regression: passed\n- Settings resolved-model UI regression: passed\n- Contracts/daemon/web typechecks: passed\n- Related web test file: 150 passed\n\nTwo unrelated OpenCode timeout assertions remain environment-sensitive and are outside this PR scope.\n\nReal-device Electron + authenticated Claude Code verification is handed off to Product for acceptance. |
|
@MumuTW friendly reminder: this PR appears to be waiting on author action (outstanding trusted reviewer or maintainer feedback, failing CI) and has had no human activity for more than 3 days. When you have a chance, please reply here or push an update. To keep the queue manageable, PRs with no human activity for more than 5 days may be closed automatically, but they can be reopened when work resumes. |
|
Closing this PR for now because it appears to be waiting on author action (outstanding trusted reviewer or maintainer feedback, failing CI) and has had no human activity for more than 5 days. This is only a queue-management step, not a rejection of the work. If you would like to continue, please leave a comment or push an update and reopen the PR when ready. |
|
Superseded by #6386 (same branch, rebased onto current |
Why
When I selected a rolling Claude Code alias such as
opusin Settings and clicked Test, Open Design only reported that Claude Code replied successfully. That proved connectivity, but not which concrete model actually handled the request.Claude Code already includes the concrete model in its
system/initstream event, and Open Design already parses that value. The connection-test sink discarded the status event, however, so the response preserved only the requested slot (opusordefault) and the UI could not show what the alias resolved to.This addresses the resolved-model transparency portion of #6180. The stale Claude fallback catalog is intentionally not changed here because #6095 already refreshes that list and includes Fable 5/current-generation coverage.
What users will see
A successful Local CLI connection test now appends the concrete model reported by the agent when it differs from the selected alias/default slot. For example:
Exact pinned selections are not repeated when the reported model equals the selected model.
Surface area
odsubcommand or flag, newtools-dev/tools-pack/tools-prflag, or newOD_*env varConnectionTestResponse.resolvedModelfieldskills/,design-systems/,design-templates/, orcraft/, or change to the skills protocolsettings.modellabelCLI parity
This does not add a new connection-test capability or endpoint; it preserves metadata in an existing Settings-only test flow. There is currently no
odconnection-test command to extend. Adding a new CLI command would be a separate user-facing capability and outside this focused bug fix. Any future CLI consumer of/api/test/connectionwill receive the same optionalresolvedModelfield from the shared contract.Screenshots
The visible change is a single appended detail in the existing Local CLI test status row:
The rendered behavior is covered by
apps/web/tests/components/SettingsDialog.execution.test.tsx. This draft does not include an uploaded screenshot yet.Bug fix verification
apps/daemon/tests/connection-test.test.ts—reports the concrete model resolved from a Claude aliasapps/web/tests/components/SettingsDialog.execution.test.tsx—shows the concrete model reported by a Local CLI connection testmain, green on this branch? Yes. Onmain, the daemon result lacksresolvedModel, and Settings omits the model from the success message. Both focused specs pass after the fix.Validation
Passed:
pnpm guardpnpm typecheck(full workspace)pnpm --filter @open-design/contracts typecheckpnpm --filter @open-design/daemon typecheckpnpm --filter @open-design/web typecheckFull daemon suite result on this machine:
main-baseline failures already documented on fix(daemon): refresh Claude Code fallback model list to the current generation #6095. The AMR/xAI failures do not import or exercise the changed contract, Claude connection-test sink, or Settings result rendering. The directly affected connection-test regression is green.Implementation
status/initializingmodel in the connection-test sink.modelremains the requested alias/default slot;resolvedModelcontains the concrete model reported by the CLI.